/** @file
 * VBoxDisplay - private windows additions display header
 */

 /*
  * Copyright (C) 2006-2020 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
  * available from http://www.virtualbox.org. This file is free software;
  * you can redistribute it and/or modify it under the terms of the GNU
  * General Public License (GPL) as published by the Free Software
  * Foundation, in version 2 as it comes in the "COPYING" file of the
  * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
  * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
  */

#ifndef _WDDM_INCLUDE_VBOXDISPLAY_H_
#define _WDDM_INCLUDE_VBOXDISPLAY_H_

#include "CommonDef.h"
#include "VBoxVideo.h"

#define VBOXESC_SETVISIBLEREGION            0xABCD9001
#define VBOXESC_ISVRDPACTIVE                0xABCD9002
#define VBOXESC_DBGPRINT                    0xABCD9005
#define VBOXESC_DBGDUMPBUF                  0xABCD900D
#define VBOXESC_CONFIGURETARGETS            0xABCD9013
#define VBOXESC_SETALLOCHOSTID              0xABCD9014
#define VBOXESC_UPDATEMODES                 0xABCD9016
#define VBOXESC_GUEST_DISPLAYCHANGED        0xABCD9017
#define VBOXESC_TARGET_CONNECTIVITY         0xABCD9018
#define VBOXESC_ISANYX                      0xABCD9200

typedef struct VBOXWDDM_RECOMMENDVIDPN_SOURCE
{
    RTRECTSIZE Size;
} VBOXWDDM_RECOMMENDVIDPN_SOURCE;

typedef struct VBOXWDDM_RECOMMENDVIDPN_TARGET
{
    UINT32 iSource;
} VBOXWDDM_RECOMMENDVIDPN_TARGET;

typedef struct
{
    VBOXWDDM_RECOMMENDVIDPN_SOURCE aSources[VBOX_VIDEO_MAX_SCREENS];
    VBOXWDDM_RECOMMENDVIDPN_TARGET aTargets[VBOX_VIDEO_MAX_SCREENS];
} VBOXWDDM_RECOMMENDVIDPN, *PVBOXWDDM_RECOMMENDVIDPN;

#endif
